1. Technical Field
This invention generally relates to data processing, and more specifically relates to logical partitioning in a computer system.
2. Background Art
Since the dawn of the computer age, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
The combination of hardware and software on a particular computer system defines a computing environment. Different hardware platforms and different operating systems thus provide different computing environments. In recent years, engineers have recognized that it is possible to provide different computing environments on the same physical computer system by logically partitioning the computer system resources to different computing environments. The AS/400 computer system developed by IBM is an example of a computer system that supports logical partitioning. If logical partitioning on an AS/400 is desired, partition manager code (referred to as a xe2x80x9chypervisorxe2x80x9d in AS/400 terminology) allows defining different computing environments on the same platform. The partition manager manages the logical partitions to assure that they can share needed resources in the computer system while maintaining the separate computing environments defined by the logical partitions.
A logical partition is defined by a set of computer resources that are allocated to the partition. These resources typically include processors, main memory, and input/output (I/O) devices. Some partitions may be defined along hardware boundaries. For example, in a system with six processors, two processors could be allocated to a first logical partition, and the remaining four could be allocated to a second logical partition. However, it is also possible to allocate partitions along logical boundaries that do not directly coincide with hardware boundaries. For example, if the total computing power in a system is measured in cycles, a certain percentage of cycles could be allocated to a first logical partition and the remaining cycles could be allocates to a second logical partition. The partition manager is then responsible to assure that processor cycles are allocated to the partitions in the specified percentages.
Many computer systems may be customized to perform specialized tasks. For example, an engineering workstation typically has a much different configuration than a server on a network. The performance of a computer system may be measured by specifying the maximum interactive performance allowed on the computer system, thereby providing sufficient batch performance when needed. Interactive performance relates to how well the computer system handles interactive jobs that require input from a user. Batch performance relates to how well the computer system handles jobs that can be run in the background and that do not require user intervention, such as processing payroll checks or generating reports. Some computer systems allow interactive performance to be traded off against batch performance to arrive at a desired performance goal for a computer system, depending on the application. For the AS/400 computer system developed by IBM, the maximum interactive performance can be adjusted to suit particular applications.
A traditional AS/400 does not limit interactive performance, so the interactive performance can comprise any portion of the total performance, from 0 to 100%. The portion of total performance that is not currently being used for interactive performance may be used for batch performance. For an AS/400 that is used as a server on a network, it may be desirable to cap the interactive performance to a relatively small percentage of the total performance to provide adequate batch performance for the network server. In this case, the interactive performance would be relatively small compared to the batch performance, because servers run most of their jobs without user intervention or input. In fact, IBM often sells AS/400 computer systems that specify the maximum interactive performance, with the rest of the computer system performance being dedicated to batch performance. Note that batch performance may also occupy any portion of the specified maximum interactive performance that is not currently being used for interactive performance. Thus, if the maximum interactive performance is 10%, and only 5% is being used in interactive performance, the computer system can use the remaining 95% for batch processing. However, if the computer system needs to increase its interactive performance from 5% to 7%, the interactive performance will take precedence over the batch performance, up to the specified maximum interactive performance.
A problem arises when a computer system that has been tuned to a desired interactive and/or performance level is logically partitioned. If the total system is 25% maximum interactive performance, using known techniques to create two equal partitions would result in two partitions that each have 25% maximum interactive performance. However, it is foreseeable that some users may want to install different types of partitions on the same computer system If the maximum interactive performance is specified for a server, there is no way to define one partition that has more interactive performance than another partition. While specifying maximum interactive performance for a computer system is known in the art, there is currently no way to specify interactive performance for a partition that is different than the maximum interactive performance for the computer system as a whole. Without a mechanism and method for creating logical partitions in a way that provides the user more flexibility in allocating interactive performance within partitions, the computer industry will continue to suffer from logical partitions that must reflect the overall performance of the computer system.
According to the present invention, a partitioner for creating logical partitions allows a user to specify maximum interactive performance in one partition independently of maximum interactive performance of other partitions to arrive at logical partitions that may be much different than the maximum overall interactive performance percentage of the computer system itself. First, the maximum interactive performance for a computer system is specified, and resources are allocated accordingly. Next, logical partitions may be created, which initially reflect the maximum interactive performance for the computer system as a whole. Finally, the maximum interactive performance can be specified for a partition independently of the interactive performance in other partitions. In this manner a computer system that is configured as a server system with low interactive and high batch performance can have two different partitions, one that has very low interactive performance and the other that balances interactive and batch processing. In this manner two partitions that have greatly different performance attributes can be defined within the limitations of the specified interactive and batch performance for the computer system as a whole.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings.